cmake_minimum_required(VERSION 3.20)

project(TodoAppTests LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

include(FetchContent)
FetchContent_Declare(
        googletest
        URL https://github.com/google/googletest/archive/03597a01ee50ed33e9dfd640b249b4be3799d395.zip
)
# For Windows: Prevent overriding the parent project's compiler/linker settings
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(googletest)

enable_testing()

add_definitions("-DBINARY_DIR=\"${CMAKE_CURRENT_BINARY_DIR}\"")

file(GLOB_RECURSE sources "*.cpp")

add_executable(${PROJECT_NAME} ${sources})

target_link_libraries(${PROJECT_NAME} PUBLIC TodoApp::Storage GTest::gtest)

include(GoogleTest)
gtest_discover_tests(${PROJECT_NAME})
